package com.user.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.user.dao.seat.GetSeatTime;
import com.user.dao.seat.SeatDao;
import com.user.domain.Seats;
import com.user.utils.R;

/**
 * @author YU
 * @description 针对表【seats】的数据库操作Service
 * @createDate 2024-03-09 13:23:15
 */
public interface SeatsService extends IService<Seats> {

    /**
     * 获取餐厅座位
     *
     * @param seat 座位信息
     * @return 座位信息
     */
    R getSeat(GetSeatTime seat);

    /**
     * 创建修改餐厅座位
     *
     * @param seat 座位信息
     * @return 创建结果
     */
    R createSeat(SeatDao seat);

    /**
     * 获取餐厅座位
     *
     * @param restaurantId 餐厅
     * @return 座位信息
     */
    R getSeatList(Integer restaurantId);

    /**
     * 修改座位状态
     *
     * @param seatId 座位id
     * @return 修改结果
     */
    R updateStatus(Integer seatId);

    /**
     * 删除座位
     *
     * @param seatId 座位id
     * @return 删除结果
     */
    R deleteSeat(Integer seatId);

    /**
     * 获取空闲座位
     *
     * @param restaurantId 餐厅id
     * @return 空闲座位
     */
    R getIdleSeats(Integer restaurantId);

    /**
     * 获取座位总数
     *
     * @param restaurantId 餐厅id
     * @return 座位总数
     */
    R getSeatTotal(Integer restaurantId);
}
